﻿using System;

namespace Atomix.Kernel_H.Lib.Cairo
{
    /* typedef enum _cairo_operator {
     *      CAIRO_OPERATOR_CLEAR,
     *      CAIRO_OPERATOR_SOURCE,
     *      CAIRO_OPERATOR_OVER,
     *      CAIRO_OPERATOR_IN,
     *      CAIRO_OPERATOR_OUT,
     *      CAIRO_OPERATOR_ATOP,
     *      CAIRO_OPERATOR_DEST,
     *      CAIRO_OPERATOR_DEST_OVER,
     *      CAIRO_OPERATOR_DEST_IN,
     *      CAIRO_OPERATOR_DEST_OUT,
     *      CAIRO_OPERATOR_DEST_ATOP,
     *      CAIRO_OPERATOR_XOR,
     *      CAIRO_OPERATOR_ADD,
     *      CAIRO_OPERATOR_SATURATE,
     *      CAIRO_OPERATOR_MULTIPLY,
     *      CAIRO_OPERATOR_SCREEN,
     *      CAIRO_OPERATOR_OVERLAY,
     *      CAIRO_OPERATOR_DARKEN,
     *      CAIRO_OPERATOR_LIGHTEN,
     *      CAIRO_OPERATOR_COLOR_DODGE,
     *      CAIRO_OPERATOR_COLOR_BURN,
     *      CAIRO_OPERATOR_HARD_LIGHT,
     *      CAIRO_OPERATOR_SOFT_LIGHT,
     *      CAIRO_OPERATOR_DIFFERENCE,
     *      CAIRO_OPERATOR_EXCLUSION,
     *      CAIRO_OPERATOR_HSL_HUE,
     *      CAIRO_OPERATOR_HSL_SATURATION,
     *      CAIRO_OPERATOR_HSL_COLOR,
     *      CAIRO_OPERATOR_HSL_LUMINOSITY,
     * } cairo_operator_t;
     */
    internal enum Operator : int
    {
        Clear = 0,
        Source = 1,
        Over = 2,
        In = 3,
        Out = 4,
        Atop = 5,
        Dest = 6,
        DestOver = 7,
        DestIn = 8,
        DestOut = 9,
        DestAtop = 10,
        Xor = 11,
        Add = 12,
        Saturate = 13,
        Multiply = 14,
        Screen = 15,
        Overlay = 16,
        Darken = 17,
        Lighten = 18,
        ColorDodge = 19,
        ColorBurn = 20,
        HardLight = 21,
        SoftLight = 22,
        Difference = 23,
        Exclusion = 24,
        HslHue = 25,
        HslSaturation = 26,
        HslColor = 27,
        HslLuminosity = 28
    }
}
